The present disclosure relates generally to data storage systems and methods to store data.
External data sources often transmit various data values belonging to one or more datasets to one or more data storage systems for storage and for re-transmission of the data values. Data storage systems often include or are communicatively connected to data storage mediums for storing internal data as well as data obtained from one or more external data sources. The data storage mediums may have one or more data storage components such as read-only memory (ROM), random access memory (RAM), flash memory, magnetic hard drives, solid state hard drives, CD-ROM drives, DVD drives, floppy disk drives, as well as other types of data storage components.
A data storage medium may be configured to store different types of data received by a data storage system. In that regard, each type of data of a dataset may be allocated a section (partition) of the data storage medium. The data storage system typically does not predetermine which data values of the dataset are transmitted by the external data sources until receipt of the data values. Further, the data storage system typically receives different types of data at different rates. Over time, certain partitions of the storage medium may be saturated with data values while other partitions of the storage medium may be under-utilized or may not contain any data value. One conventional solution is to augment the storage medium to have enough storage to store every data value of the dataset. However, since the data storage system may likely never receive some data values of the dataset, such solution is not only cost prohibitive, but also inefficiently utilizes available storage space of the data storage medium.